# -*- coding: utf-8 -*-
# @Time    : 2018/12/7 9:30
# @Author  : yueconger
# @File    : handle_content.py
import re
import os
from dateutil import rrule
from ConsultAPI.conf import html_path, html_ex_path
import datetime


def time2standard(time_str):
    """
    前端输入日期格式化年月日
    :param time_str:
    :return:
    """
    date_year, date_month, date_day = time_str.split('-')
    date_standard = ''.join([str(int(date_year)), '年', str(int(date_month)), '月', str(int(date_day)), '日'])
    return date_standard


def time_differnece(time_str1, time_str2):
    """
    计算时间差
    :param time_str1:
    :param time_str2:
    :return:
    """
    date_year1, date_month1, date_day1 = time_str1.split('-')
    date_year2, date_month2, date_day2 = time_str2.split('-')
    d1 = datetime.datetime(int(date_year1), int(date_month1), int(date_day1))
    d2 = datetime.datetime(int(date_year2), int(date_month2), int(date_day2))
    day_diff = (d1 - d2).days
    return day_diff


def month_differnece(time_str1, time_str2):
    """
    计算月份差
    :param time_str1:
    :param time_str2:
    :return:
    """
    date_year1, date_month1, date_day1 = time_str1.split('-')
    date_year2, date_month2, date_day2 = time_str2.split('-')
    d1 = datetime.datetime(int(date_year1), int(date_month1), int(date_day1))
    d2 = datetime.datetime(int(date_year2), int(date_month2), int(date_day2))
    months_diff = rrule.rrule(rrule.MONTHLY, dtstart=d1, until=d2).count()
    return months_diff


# 正则匹配需要用到的信息

divorce_indictment_list = [
    # 原告的信息填写？
    '<p>原告：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;，性别：&nbsp;&nbsp;，民族：&nbsp;&nbsp;，出生日期：2018年12月12日，籍贯：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;，身份证号码：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;，现居住于：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;，手机号码：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;；</p>',
    # 委托代理人信息填写？
    '<p>原告委托代理人：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;，原告代理人所在律所：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;，原告代理人常用手机号码：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;（一般代理）；</p>',
    # 被告信息填写？
    '<p>被告：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;，性别：&nbsp;&nbsp;，民族：&nbsp;&nbsp;，出生日期：2018年05月01日，籍贯：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;，身份证号码：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;，现居住于：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;，手机号码：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;；</p>',
    # 原被告婚姻基本信息填写？
    '原告于2018年05月01日与被告认识，于2018年05月01日同被告到&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;民政局领取结婚证，另与被告在2018年05月01日生育了&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;，',
    # 小孩的信息填写？
    '婚生&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;由原告抚养，被告一次性向原告支付&nbsp;&nbsp;&nbsp;5000元抚养费；',
    '婚生儿子1以及儿子2由被告抚养，原告对婚生儿子1以及儿子2享有探视权；',
    '原告于2018年12月13日与被告认识，于2018年12月13日同被告到&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;民政局领取结婚证，另与被告在2018年12月13日生育了儿子1，在2018年12月13日生育了儿子2。',

    # 原告需要被告返还那些彩礼？
    '依法判处被告向原告返还礼金&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;元，贵重首饰：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;，贵重物品：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;；',
    # 相关保险信息填写？
]
# 离婚起诉状部分 替换内容
divorce_indictment_dict = [
    {
        'input_option': '原告的信息填写？',
        're_rule': '<p>原告：(.*?)，性别：(.*?)，民族：(.*?)，出生日期：(.*?)，籍贯：(.*?)，身份证号码：(.*?)，现居住于：(.*?)，手机号码：(.*?)；</p>',
        'sub_con': '<p>原告：{0[0]}，性别：{0[1]}，民族：{0[2]}，出生日期：{0[3]}，籍贯：{0[4]}，身份证号码：{0[5]}，现居住于：{0[6]}，手机号码：{0[7]}；</p>'
    },
    {
        'input_option': '委托代理人信息填写？',
        're_rule': '<p>原告委托代理人：(.*?)，原告代理人所在律所：(.*?)，原告代理人常用手机号码：(.*?)（一般代理）；</p>',
        'sub_con': '<p>原告委托代理人：{0[0]}，原告代理人所在律所：{0[1]}，原告代理人常用手机号码：{0[2]}（一般代理）；</p>'
    },
    {
        'input_option': '被告信息填写？',
        're_rule': '<p>被告：(.*?)，性别：(.*?)，民族：(.*?)，出生日期：(.*?)，籍贯：(.*?)，身份证号码：(.*?)，现居住于：(.*?)，手机号码：(.*?)；</p>',
        'sub_con': '<p>被告：{0[0]}，性别：{0[1]}，民族：{0[2]}，出生日期：{0[3]}，籍贯：{0[4]}，身份证号码：{0[5]}，现居住于：{0[6]}，手机号码：{0[7]}；</p>'
    },
    {
        'input_option': '原被告婚姻基本信息填写？',
        're_rule': ['原告于(.*?)与被告认识，于(.*?)同被告到(.*?)民政局领取结婚证，'],
        'sub_con': ['原告于{0[0]}与被告认识，于{0[1]}同被告到{0[2]}民政局领取结婚证，']
    },
    {
        'input_option': '小孩的信息填写？',  # 一个小孩会这么说
        're_rule': ['婚生(.*?)由', '在(.*?)生育了(.*?)，'],
        'sub_con': ['婚生{0[1]}{0[0]由}', '在{0[2]}生育了{0[1]}{0[0]}']
    },
    {
        'input_option': '房子相关信息填写？',
        're_rule': ['位于(.*?)的房产归'],
        'sub_con': ['位于{0[0]}{0[1]}的房产归']  # 对应问题的 一二两处结果
    },
    {
        'input_option': '原告需要被告返还那些彩礼？',
        're_rule': '依法判处被告向原告返还礼金(.*?)元，贵重首饰：(.*?)，贵重物品：(.*?)；',
        'sub_con': '依法判处被告向原告返还礼金{0[0]}元，贵重首饰：{0[1]}，贵重物品：{0[2]}；'
    },
    {
        'input_option': '相关信息填写？',  # 存疑,是否多个option共用 诉讼模块
        're_rule': ['被告曾于(.*?)向法院提起过离婚诉讼，'],
        'sub_con': ['被告曾于{0[0]}向法院提起过离婚诉讼，']
    }
]
# 离婚协议书部分 替换内容
divorce_agreement_dict = [
    {
        'input_option': '原告的信息填写？',
        're_rule': '<p>原告：(.*?)，性别：(.*?)，民族：(.*?)，出生日期：(.*?)，籍贯：(.*?)，身份证号码：(.*?)，现居住于：(.*?)，手机号码：(.*?)；</p>',
        'sub_con': '<p>原告：{0[0]}，性别：{0[1]}，民族：{0[2]}，出生日期：{0[3]}，籍贯：{0[4]}，身份证号码：{0[5]}，现居住于：{0[6]}，手机号码：{0[7]}；</p>'
    }
]
# 去哪里离婚部分 替换内容
where_to_divorce_dict = [
    {
        'input_option'
    }
]

all_re_list = [
    {  # 工资问题
        'dispute_type': 'labor_pay/',
        're_list': [{
                        'input_option': '单位不发（拖欠）工资长达几个月了？',
                        're_rule': '不发（拖欠）你的工资长达(.*?)个月',
                        'sub_con': '不发（拖欠）你的工资长达{0[0]}个月'
                     }]
    },
    {  # 离职时的经济补偿金 待完善
        'dispute_type': 'quit_payments/',
        're_list': [{
                        'input_option': '请填写具体的离职时间',
                        're_rule': ['(.*?)离职，', '(.*?)离职。'],
                        'sub_con': ['{0[0]}离职，', '{0[0]}离职。']
                    },
                    {
                        'input_option': '请回答下列问题',
                        're_rule': ['你是(.*?)到单位工作，', '你的月平均工资为(.*?)元'],
                        'sub_con': ['你是{0[0]}到单位工作，', '你的月平均工资为{0[2]}元']
                    }]
    },
    {  # 不签劳动合同的双倍工资
        'dispute_type': 'double_pay/',
        're_list': [{
                        'input_option': '请填写具体的离职时间',
                        're_rule': ['(.*?)离职，', '(.*?)离职。'],
                        'sub_con': ['{0[0]}离职，', '{0[0]}离职。']
                    },
                    {
                        'input_option': '请回答下列问题',
                        're_rule': '你是(.*?)到单位工作，',
                        'sub_con': '你是{0[0]}到单位工作，'
                    },
                    {
                        'input_option': '合同是什么时候到期的？',
                        're_rule': '你的合同是(.*?)到期的，',
                        'sub_con': '你的合同是 {0[0]} 到期的，'
                    },
                    {
                        'input_option': '你什么时候与单位签订的合同？',
                        're_rule': '你于(.*?)与单位签订了',
                        'sub_con': '你于 {0[0]} 与单位签订了'
                    }]
    },
    {
        'dispute_type': 'e-commerce/',
        're_list': [{
                        'input_option': '具体是什么问题？',
                        're_rule': '我想问这种是不是',
                        'sub_con': '{0[0]}'
                    }]
    }
]


class HandleContent(object):
    def __init__(self, filepath, filepath_new):
        self.filepath = filepath
        self.filepath_new = filepath_new

    def process_html(self):
        html_list = os.listdir(self.filepath)  # 列出文件夹下所有的目录与文件
        count = 0
        print(len(html_list))

        re_rule_shan = '<h1>.*?友情链接</h1>[\s\S]*'
        re_rule_shan_1 = '（<strong>友情链接部分有离婚起诉状自动生成链接供你使用</strong>）'
        re_rule_shan_3 = '（在<strong> “友情链接” </strong>部分有起诉状自动生成供你使用）'
        re_rule_shan_2 = '<p><a href="/g/susongfei_calculator/\?action=restart" target="_blank">[\s\S]<strong>【诉讼费计算器】</strong></a></p>'
        re_rule_shan_4 = '<p>【想要了解是否属于工伤？到底能够赔多少？】[\s\S]*?</p>'

        re_rule_shan_5 = '，即:<strong>2500×2=5000元。</strong>|，即<strong>：2500= 0.5 × 5000</strong>'
        re_rule_shan_6 = '，你在单位工作了[\s\S].*?天，也就是你当天来上班当天就离职了|，[\s\S]至今已经在单位工作了7个月3天。'
        temp_shan_01 = '也就是你入职当天就与单位签订了劳动合同，签订合同的时间是符合法律规定的。'
        temp_shan_02 = '，工作年限为4个月，经济补偿金为<strong>0.5个月的工资</strong>。因此你可以得到的经济补偿为2500元，计算公式为：经济补偿 = 法定赔偿年限 × 月工资，即<strong>：2500= 0.5 × 5000</strong>'

        re_rule_fuyang = '抚养费在：<strong>(.*?)</strong>'
        sub_fuyang = '抚养费在：<strong>&Alimony&</strong>'

        re_rule_alimony = '<strong>.*?</strong>的抚养费'
        sub_alimony = '<strong>&Alimony&</strong>的抚养费'
        re_rule_date = '，.*?是.*?出生的现有年龄是<strong>.*?</strong>'
        rule_date = '(，.*?)是.*?出生的现有年龄是<strong>.*?</strong>'
        re_rule_date_1 = '是.*?出生的现有年龄是（<strong>.*?</strong>）'
        rule_date_1 = '(，.*?)是.*?出生的现有年龄是（<strong>.*?</strong>）'
        sub_date_1 = '是<strong>Year1</strong>出生的现有年龄是<strong>Age1</strong>'
        sub_date_2 = '是<strong>Year2</strong>出生的现有年龄是<strong>Age2</strong>'

        re_ld_law = '按照<a class=[\s\S]*?《劳动合同法》第10条</a>的规定，'
        sub_ld_law = '《劳动合同法》第10条：建立劳动关系，应当订立书面劳动合同。已建立劳动关系，未同时订立书面劳动合同的，应当自用工之日起一个月内订立书面劳动合同。用人单位与劳动者在用工前订立劳动合同的，劳动关系自用工之日起建立。按照此规定，'

        re_rule_table = '<table >'
        sub_table = '<table border="1">'
        table_count = 0

        re_rule_table_css = '<table'
        re_rule_css = '<h6>'
        sub_table_css = """<style type="text/css">
                                table {
                            border-spacing: 0;
                            border-collapse: collapse;
                            }
                            </style>
                            <h6>"""

        re_rule_susong = '诉讼费在（<strong>(.*?)</strong>）左右'
        sub_susong = '诉讼费在（<strong>LegalCost</strong>）左右'

        for i in range(0, len(html_list)):
            html_path = os.path.join(self.filepath, html_list[i])

            with open(html_path, "r", encoding="utf-8") as rf:
                content = rf.read()
            flag_shan = self.handle_regular(re_rule_shan, content)
            flag_shan1 = self.handle_regular(re_rule_shan_1, content)
            flag_shan2 = self.handle_regular(re_rule_shan_2, content)
            flag_shan3 = self.handle_regular(re_rule_shan_3, content)
            flag_shan4 = self.handle_regular(re_rule_shan_4, content)
            flag_shan5 = self.handle_regular(re_rule_shan_5, content)
            flag_shan6 = self.handle_regular(re_rule_shan_6, content)
            flag_temp_shan1 = self.handle_regular(temp_shan_01, content)
            flag_temp_shan2 = self.handle_regular(temp_shan_02, content)
            content = self.process_content(flag_shan, re_rule_shan, content)
            content = self.process_content(flag_shan1, re_rule_shan_1, content)
            content = self.process_content(flag_shan2, re_rule_shan_2, content)
            content = self.process_content(flag_shan3, re_rule_shan_3, content)
            content = self.process_content(flag_shan4, re_rule_shan_4, content)
            content = self.process_content(flag_shan5, re_rule_shan_5, content)
            content = self.process_content(flag_shan6, re_rule_shan_6, content)
            content = self.process_content(flag_temp_shan1, temp_shan_01, content)
            content = self.process_content(flag_temp_shan2, temp_shan_02, content)

            re_rule_fanben = '<h.*?>.*?相关申请书（范本）</h.*?>[\s\S]*?<div class="drop\-list">[\s\S]*?</style>'
            re_rule_fanben1 = '<div class="drop\-list">[\s\S]*?<div class="item">'
            flag_fanben = self.handle_regular(re_rule_fanben, content)
            flag_fanben1 = self.handle_regular(re_rule_fanben1, content)
            content = self.process_content(flag_fanben, re_rule_fanben, content)
            content = self.process_content(flag_fanben1, re_rule_fanben1, content)

            # content = self.modify_content(re_rule_susong, sub_susong, content)
            content = self.modify_content(re_rule_fuyang, sub_fuyang, content)
            content = self.modify_content(re_rule_table, sub_table, content)
            content = self.modify_content(re_rule_alimony, sub_alimony, content)
            content = self.modify_content(re_ld_law, sub_ld_law, content)

            flag_css = self.handle_regular(re_rule_table_css, content)
            if flag_css == 1:
                content = self.modify_content(re_rule_css, sub_table_css, content)

            # 小孩问题
            res = re.findall(rule_date, content)
            res_1 = re.findall(re_rule_date_1, content)
            res1 = re.findall(re_rule_date, content)
            if len(res) > 0:
                if len(res) == 2:
                    print(res)
                    with open("多子女问题.txt", "a+", encoding="utf-8") as f:
                        f.write(html_list[i] + "\n")
                    content = self.modify_content(res1[0], res[0] + sub_date_1, content)
                    content = self.modify_content(res1[1], res[1] + sub_date_2, content)
                else:
                    content = self.modify_content(res1[0], res[0] + sub_date_1, content)
            else:
                content = self.modify_content(re_rule_date_1, sub_date_1, content)

            html_new_path = os.path.join(self.filepath_new, html_list[i])
            with open(html_new_path, "w", encoding="utf-8") as wf:
                wf.write(content)
                print(html_list[i], "写入成功!")

    def handle_regular(self, re_rule, content):
        """
        匹配正则表达式
        :return flag
        """
        res = re.findall(re_rule, content)
        flag = 0
        if len(res) > 0:
            flag = 1
        else:
            pass
        return flag

    def delete_content(self, delete_con, content):
        """
        删除不需要部分
        :return: 删除后文本内容
        """
        content_new = re.sub(delete_con, '', content)
        return content_new

    def modify_content(self, con, mo_con, content):
        """
        修改传递值部分
        :return: 修改后的文本内容
        """
        content_new = re.sub(con, mo_con, content)
        return content_new

    def process_content(self, flag, re_rule, content):
        if flag == 1:
            content = self.delete_content(re_rule, content)
        else:
            pass
        return content


class HunYin(object):
    def __init__(self, filepath, input_value):
        self.filepath = filepath
        self.filepath_new = filepath
        self.input_value = input_value

    def hy_child_alimony(self):
        """
        离婚后小孩问题  抚养费计算
        :param input_value:
        :return:
        """
        input_option = '相关信息填写？'  # 仅一个填空需要处理
        # income_month, pay_child, area, child_count = self.input_value
        print('input_value:', self.input_value)
        income_month, pay_child, area = self.input_value
        # count_1 = '一个'
        # count_2 = '两个'
        # count_3 = '三个'
        # if count_1 in child_count:
        #     alimony_min = round(float(income_month) * 0.2, 2)
        #     alimony_max = round(float(income_month) * 0.3, 2)
        #     alimony_str = ''.join([str(alimony_min), '元 — ', str(alimony_max), '元'])
        # else:
        #     alimony_min = round(float(income_month) * 0.3, 2)
        #     alimony_max = round(float(income_month) * 0.5, 2)
        #     alimony_str = ''.join([str(alimony_min), '元 — ', str(alimony_max), '元'])
        alimony_min = round(float(income_month) * 0.2, 2)
        alimony_max = round(float(income_month) * 0.3, 2)
        alimony_str = ''.join([str(alimony_min), '元 — ', str(alimony_max), '元'])
        return alimony_str

    def hy_divorce_rate(self):
        """
        能不能离婚问题 无填空 不做处理
        :return:
        """
        pass

    def hy_where_to_divorce(self):
        """
        去哪里离婚
        :return:
        """
        pass

    def process_content(self):
        html_list = os.listdir(self.filepath)  # 列出文件夹下所有的目录与文件
        print(len(html_list))
        re_rule_alimony = '&Alimony&'
        # input_value = ['8000', '3279.2369', '上海市黄浦区', '两个或两个以上孩子']  # 传递过来的信息 测试用 后面改成动态
        sub_alimony = self.hy_child_alimony()
        for i in range(0, len(html_list)):
            html_path = os.path.join(self.filepath, html_list[i])

            with open(html_path, "r", encoding="utf-8") as rf:
                content = rf.read()
            print(sub_alimony)
            flag = re.findall(re_rule_alimony, content)
            if len(flag):
                content = self.modify_content(re_rule_alimony, sub_alimony, content)
                print('修改成功')
            html_new_path = os.path.join(self.filepath_new, html_list[i])
            with open(html_new_path, "w", encoding="utf-8") as wf:
                wf.write(content)
                print(html_new_path, "写入成功!")

    def modify_content(self, con, mo_con, content):
        """
        修改传递值部分
        :return: 修改后的文本内容
        """
        content_new = re.sub(con, mo_con, content)
        return content_new

    def main(self):
        self.process_content()


class Labor(object):
    def __init__(self, user_path, dispute_type, filepath, input_option, input_value):
        self.user_path = user_path  # 用以判断逻辑问题时使用
        self.dispute_type = dispute_type
        self.filepath = filepath
        self.filepath_new = filepath  # 均在同一文件夹下处理
        self.input_option = input_option
        self.input_value = input_value

    def modify_content(self, con, mo_con, content):
        """
        修改传递值部分
        :return: 修改后的文本内容
        """
        content_new = re.sub(con, mo_con, content)
        return content_new

    def find_re_list(self, dispute_type):
        for re_list in all_re_list:
            if re_list['dispute_type'] == dispute_type:
                return re_list['re_list']
        else:
            return None

    def ld_time_diff(self, user_path, dispute_type, content):  # 离职时的经济补偿金问题
        if dispute_type != 'quit_payments/':
            pass
        else:
            # 判断是否有离职时间
            if '请填写具体的离职时间' in str(user_path):
                # 有 则按离职 - 入职 时间
                pass
            else:
                # 无 则按当天 - 入职 时间
                re_rule = '你是(.*?)到单位工作，[\s\S]*?(.*?)离职，你在单位工作了[\s\S]*(.*?)天，也就是你当天来上班当天就离职了。'
                re.findall(re_rule, content)


    def process_content(self):
        html_list = os.listdir(self.filepath)  # 列出文件夹下所有的目录与文件
        re_list = self.find_re_list(self.dispute_type)
        if re_list is None:
            # 没有动态内容要修改
            pass
        else:
            for i in range(0, len(html_list)):
                html_path = os.path.join(self.filepath, html_list[i])
                for re_con in re_list:
                    if re_con['input_option'] == self.input_option:
                        print('当前问题:', self.input_option)
                        with open(html_path, "r", encoding="utf-8") as rf:
                            content = rf.read()
                        re_rule = re_con['re_rule']
                        sub_con = re_con['sub_con']
                        if isinstance(re_rule, list):
                            print('--------')
                            for j in range(len(re_rule)):
                                sub = sub_con[j].format(self.input_value)
                                content = self.modify_content(re_rule[j], sub, content)
                        else:
                            sub_con = re_con['sub_con'].format(self.input_value)  # 待确定
                            print(sub_con)
                            content = self.modify_content(re_rule, sub_con, content)
                        with open(html_path, "w", encoding="utf-8") as wf:
                            wf.write(content)
            for i in range(0, len(html_list)):
                html_path = os.path.join(self.filepath, html_list[i])
                with open(html_path, "r", encoding="utf-8") as rf:
                    content = rf.read()
                html_new_path = os.path.join(self.filepath_new, html_list[i])
                with open(html_new_path, "w", encoding="utf-8") as wf:
                    wf.write(content)
                    print(html_new_path, "写入成功!")